Skip to content

Conversation

@JonnoGG
Copy link
Collaborator

@JonnoGG JonnoGG commented Jan 13, 2026

Want to test before merging, but let me know how it looks.

@JonnoGG
Copy link
Collaborator Author

JonnoGG commented Jan 13, 2026

Just realized i did not implement the mach lock timeout. What was the reasoning for the timeout?

Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

In another PR, but can we break data up as well?

@JonnoGG JonnoGG marked this pull request as ready for review January 15, 2026 06:49
@JonnoGG JonnoGG requested a review from EdwardJXLi January 15, 2026 06:50
@JonnoGG
Copy link
Collaborator Author

JonnoGG commented Jan 15, 2026

Will do unit tests later this week

@EdwardJXLi EdwardJXLi force-pushed the main branch 2 times, most recently from 375fac9 to ed78779 Compare January 15, 2026 07:02
Copy link

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR adds a comprehensive state machine implementation for the Cloudburst rocket's flight control system, tracking the rocket through its complete flight sequence from standby to landing. The state machine uses Zephyr's SMF (State Machine Framework) to manage transitions between flight phases (standby, ascent, mach lock, drogue descent, main descent, and landed) based on altitude and velocity thresholds.

Changes:

  • Implemented a flight state machine with six states and configurable transition thresholds
  • Added comprehensive unit tests covering all state transitions and edge cases
  • Integrated state machine data into the logging system for flight data recording

Reviewed changes

Copilot reviewed 24 out of 25 changed files in this pull request and generated no comments.

Show a summary per file
File Description
apps/rockets/cloudburst/src/state_machine/state_machine.c Core state machine implementation with SMF integration and thread management
apps/rockets/cloudburst/src/state_machine/state_machine_common.c Common utilities for state transitions, repeated checks, and action triggers
apps/rockets/cloudburst/src/state_machine/states/*.c Individual state handlers for each flight phase
apps/rockets/cloudburst/src/state_machine/*.h Header files defining state machine interfaces and internal structures
apps/rockets/cloudburst/tests/state_machine/src/main.c Comprehensive unit tests for all state transitions
apps/rockets/cloudburst/src/data.c Added state data getters/setters with mutex protection
apps/rockets/cloudburst/src/logger_thread.c Updated to log state machine data
apps/rockets/cloudburst/CMakeLists.txt Added state machine source files to build
apps/rockets/cloudburst/prj.conf Enabled SMF configuration

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants